The present invention relates to a communication unit and a communication method for communicating data and a communication system, in which parameter data describing or controlling attributes of the communication system are stored and managed in a profile data base. The communication system can e.g. be or comprise a computing system or a computer network or more specific a distributed wireless computing network. Such a communication system can e.g. consist of a computing system comprising at least one server and a plurality of user terminals, which are connected to a communication system, as e.g. a wireless telecommunication system to communicate data e.g. from a mobile station of the communication system to a computer terminal of the computer system.
Computer applications usually provide numerous parameters to influence their behaviour. One example of such a computer application are services offered over a network to a number of different users. A personalized service can be adapted to the personal needs of a single user. In general in different situations a different set of parameters is required to satisfy different user""s needs. Different parameter sets might also be necessary because different users access the application and the users have different requirements. Also, the application might run on different terminals with different capabilities which requires a different behaviour of the application. Generally speaking, different sets of parameters are used for different users, different hardware, different networks, different applications and different situations. Applications can e.g. be a single software program or a collection of software programs.
A collection of parameter data is called a profile and stored in a profile data base. The parameter data describe attributes of the communication system. An attribute describes a single piece of information out of a set of information belonging together. The attributes might therefore describe physical and logical entities in a distributed computing system, e.g. terminal devices in a terminal profile, network properties like quality of service parameters in a network profile or user preferences in a user profile.
An application such as a personalized service needs the correspondingly allocated attributes for describing and/or controlling its behaviour in the respective environment. Therefore, the application accesses a profile data base to retrieve and store parameter data describing the corresponding attributes. The parameter data are thereby arranged in profiles, as mentioned above.
A profile can be stored persistently, e.g. on a persistent memory, a hard disc, a memory card, etc. The profile can be accessed by applications wishing to retrieve the parameter data associated with the profile. Copies of profiles can be stored on various nodes of a distributed computing and/or communication system. If attributes of the communication system change, the profiles containing the corresponding parameter data need to be updated. This is necessary to provide the identical attributes in the profiles stored in each node of the communication system. In known systems, all attributes of a profile are transmitted and updated, if one attribute has been changed in one of the nodes.
The attributes in a profile are usually key/value pairs. When accessing a profile, an application specifies the key and receives the value in return. The key might be flat names or structured names. One possible structuring of names are a tree-like structure. In a tree-like structure, a new name is build by appending a separator symbol and a new relative distinguishing name, e.g. terminal.color and terminal.color.depth. The structure of the tree usually reflects a semantic relation between the different attributes. In the given example, the value of the attribute terminal.color indicates whether the described terminal has a color display or not. Furthermore, the value of the attribute terminal.color.depth indicates the depth of the color map for this display.
In the current state of the art, a profile contains attributes for all entities of the communication system. This description is very static and inflexible. When the state of one of the entities changes, all parameter data of the single profile have to be changed accordingly. Furthermore, the process of retrieving a single data item (the value of an attribute) might be very time-consuming as explained in the following example. Assuming a terminal with several different networks attached, from which only one might be active at a time. Accessing the current speed of the network attached to this terminal involves looking up the current network in the terminal profile, constructing the name of the required data item (attribute) for this network and then retrieving the required value. An application has no high-level way to directly access the current network speed regardless of which network is currently active.
EP 0 479 660 B1 describes a distributed configuration profile for computing systems, which is only used during the binding phase of a distributed application. The configuration profile contains interface identifiers, host binding information and related attributes, e.g. priorities. EP 0 851 696 A2 describes a method of wireless retrieval of profile information. The profile information is static and the structure of the profile is not disclosed.
The object of the present invention is therefore to provide a communication unit and a communication method for communicating data in a communication system, in which attributes of the communication system stored in a profile data base can be flexibly and efficiently controlled, managed and retrieved.
This object is achieved by a communication unit for communicating data in a communication system according to claim 1, comprising storage means for storing a profile data base, said profile data base comprising parameter data describing or controlling attributes of the communication system, said parameter data being arranged in parameter sets respectively describing a collection of said attributes, whereby the parameter sets are allocated to profile units so that each profile unit comprises at least one parameter set and one parameter set can be allocated to a plurality of profile units, and managing means for managing said parameter data in said profile data base and for controlling a means for reading and writing parameter data from and in said storage means.
The above object is also solved by a communication method for communicating data in a communication system according to claim 10, which comprises the steps of storing a profile data base, said profile data base comprising parameter data describing or controlling attributes of the communication system, whereby said parameter data are arranged in parameter sets respectively describing a collection of said attributes, said sets are allocated to profile units so that each profile unit comprises at least one parameter set and one parameter set can be allocated to a plurality of profile units, and managing said parameter data in said profile data base and controlling a means for reading and writing parameter data from and in said profile data base.
The communication unit and the communication method according to the present invention provide a flexible and efficient way to store, control and access different parameter sets. This flexible and efficient way is particularly achieved by arranging the parameter data in parameter sets respectively describing or controlling a collection of attributes, whereby the parameter sets are allocated to profile units so that each profile unit comprises at least one parameter set and one parameter set can be allocated to a plurality of profile units.
Advantageously, each profile unit has an allocated search order according to which the parameter sets of the profile unit are looked through upon searching particular parameter data. Thereby, different search orders can be allocated to one profile unit, whereby one search order is defined for one or more parameters. In other words, more than one search order can be allocated to one profile unit, whereby a particular search order for a specific attribute or a group of attributes is provided.
Advantageously, each profile unit has a name and each parameter set has a name, whereby the parameter sets are allocated to respective profile units by means of their respective names. In this case, the name of a profile unit can consist of one or more individual names and the name of a parameter set can consist of one or more individual names, whereby the name of a profile unit and the name of a parameter set allocated to said profile unit have at least one individual name in common, except for a parameter set containing only default values. Each individual name may respectively describe a specific entity of the system, e.g. either a user, a terminal, a network, an application or a given special situation of the communication network or a default setting indicating an unspecified status. The individual names or a combination of names may thus specify a context.
The present invention therefore provides an automatic allocation of the parameter sets to respective profile units by means of their respective names in an simple and effective way.
Further advantageously, said parameter consist of data pairs, whereby each data pair comprises a key and a value, said key defining a name of an attribute and said value defining the value of said attribute. Thereby, one particular key can have a value chosen from a plurality of possible values. If, e.g. the color of a terminal is to be defined as an attribute, then the corresponding key (name of the attribute) is terminal.color and the value could be xe2x80x9cb/wxe2x80x9d for a black/white display or xe2x80x9ccxe2x80x9d for a color display.
A possible search order for the above-mentioned example could be user, terminal. This means, that upon searching particular parameter data, the parameter set named user and defining the user is searched through first, and then the parameter set named terminal and defining the terminal is searched through. Also, a specific search order for a particular attribute or group of attributes can be provided. An example for such a specific search order is the search order terminal, user for the attribute terminal.color.
This means, that for the parameter data type terminal.color, the parameter set defining the terminal is searched through before the parameter set defining the user.
It is a further advantage, if a particular key is contained in a parameter set exactly once or not at all.
Further, the attributes may describe physical and logical entities of the communication system, whereby the attributes contained in a profile unit define a specific situation of the corresponding entities of the communication system.
The communication means according to the present invention may e.g. be a part of a communication terminal of said communication system or a part of a node of said communication system. Advantageously, in the communication method according to the present invention, upon generating of a new parameter set or upon updating parameter data in a parameter set an event information is generated and sent to a registered application in the communication system. Using this event mechanism the processing overhead required to check for changes in the profile data base is largely reduced.
The parameter data stored in the profile data base according to the present invention can e.g. describe the following attributes: a terminal used by a client, the quality of service of an access network, which is usually a wireless network, information about the user, the user""s preferences, the configuration information about the distributed system, information about the current situation and/or information about the application currently used. The attributes are therefore related to properties, characteristic, a status, a desired behaviour, etc. of entities of the system. The parameter data can be accessed not only during the binding phase, but during the complete operation phase of the services. Thereby, the profile data base is used by applications or service components using a request/reply access to the data base to retrieve a single attribute or even a group of attributes with a single request so that a high performance is provided. The present invention applies to data services, e.g. internet services, as well as to telephone or voice based services.